#ifndef OBIECT3D_H_
#define OBIECT3D_H_
#include <glut.h>

enum Tip {
	Cube,
	Sphere,
	Cone,
	Teapot,
	Pyramid,
	Block,
	Linie
};

enum DrawMode{
	Wire,
	Solid
};
class Obiect3D
{
public:
	bool selected;
	float pozitie[3];
	float translat[3];
	float scalare[3];
	float rotatie[3];
	float culoare[4];
	float culoare_sel[4];
	float level;
	Tip tip;
	DrawMode desen;
	char comm[20];
	float coords[9][3];
	bool selectable;

	Obiect3D( Tip , DrawMode );
	void select(void);
	void deselect(void);
	void SetPozitie(float , float , float );
	void SetTranslat(float , float , float );
	void SetScalare(float , float , float );
	void SetRotatie(float , float , float );
	void SetCuloare(float , float , float );
	void SetCuloare_sel(float , float , float );
	void SetTip(Tip);
	void SetDesen(DrawMode);
	void SetAlpha(float);
	void SetCoords(float *, float *, float *);
	float* GetPozitie();
	float* GetTranslat();
	float* GetScalare();
	float* GetRotatie();
	float* GetCuloare();
	float* GetCuloare_sel();
	Tip GetTip();
	DrawMode GetDesen();
	void SetLevelOfDetail(float);

	void draw();
	~Obiect3D(void);
};
#endif

